improved momentum, not perfect