helper classes which might prove useful