initial commit
completed functions