made middleclass usable without a helper function