separate game mechanics
updated separation