shelf and robot refactoring