refactored play-functional to make it clearer + moved Constraints back to play core project because I want to keep Forms as is for now