another approach on requirements