API improvements

Still need to re-write the main controller name though :P