element functions no longer static