initial commit; includes basic functionality