walking function should be public