Kinda works, needs simulation