[step-1]: implemented requirements of first step