Feature/optional constructor