constructors right, everyting mostly right, need to add database interfaces