Reworked everything