initial commit for basic functionality