private info implemented