render and picking refactoring