some reference notes from https://github.com/FuseByExample