Implemented the themer api, still poorly will be improved later