api20- made final design choices and commented my code