Messed around with the api. Still not finished, but just updating.
Improved API