further improvements
Reset to simple implementation