updated movement and grow logic