better handling of logs, use array of args for callback