Uses variadic marcro for message printing