interface hooks and getter