optional base call