varargs (:*), block option (:&) and typed option
removes code duplication
constructor with args
100% test coverage
5 sounds better