readme with type safe