mark state validity functions as purely abstract