cut partials && little refactoring