More work on core, i think it's working pretty nicely now