add corner cases
use Collision in World