Refactored and added options in constructor