add static typecheck