fixed typo
implemented narrowing