added shapeless as an optional dependency