code refactoring.. no major changes