some new functions for gameplay