it does not even need to be static