full gameplay implemented