Everything needed to implement individual classes