#329 design decision about input parameter types explained