skeleton methods