typo
shortened the name
better typing
Newer class should live in a newer package
this implementation is sharable