First pass

See lua for api docs.