badly written canvas for player control