Introduce Type class