added private methods, fixed message signature issue.