Add validation, filter, refactor the example