fixed some of the bugs related to fall(), still not ideal