rewritten to work with game framework