initial commit; rought outline and functionality