making playable abstract