refactor epson library