add validate and add_and_validate interface
splite this project up. one for receive clients' request, one for
rules' calculation