Used beberlei/assert for input validation