finish the basic requirement