missing classes + restructuring