backporting implementation features from project to this package