Reworked a lot of stuff, added composite