restricted methods where possible