refine class hierarchy
propose Motion class to abstract motion of bullet