more code and examples