prefer function annotations