properly handle return type void