user strict, code refactoring