reworked a bit of stuff! including APIs