cast instead of return