2d collision engine experiment, attempt 2.