code refactored in garfield shell