implemented example classes