initial commit - needs cleanup