data abstraction
user story LAB29
subtask LAB51, LAB55