Added some code and moved enums and geo to own packages