probably feature complete except for domains. Needs more testing
final for 0.0.1