WIP: squash; change implementation