Refactoring interaction with options
Refactoring init function