self isn't used, so this could be static.