re-design for reading arguments