(added) - got most of the requirement + validation logic working