add Props factories, missing implementations, improve tests and README.md