remove optional<>
fixx iterator support
Merge branch 'feature/optional' into develop