initial commit
moving stuff around
cleaned up code, added destructors
cleaned up code, added destructors
small cleanup
added support for object arguments