initial commit. basic functionality working