fully tested message method