refactoryng constructor