implement basic gameplay stuff