hard core part

.