Rough core rewrite, expect full update soon.