complete basic requirements. it now outputs html