draft implementation of core gameplay