implement elevator, some bugs