needs an endgame, otherwise fine