framework for the gameplay