fixed a valdation bug in the requirement class & added testing