A bit of restructuring, will need alot more work