cap points when points limit is reached
remove unnecessary methods from state
reduce state to bare minimum and use optionals instead
simplify final state more