Updated collision and movement

Also added an interface API and ported everything into that