complete full implementation of tilt with tests