Refactor on constructor and sources way