added more validations and updated specs