Reworked these classes