implemented game mechanics