implicit cast operator now the correct type