implemented Room class