covered everything except the lack of database