(*) Added lower bound clamping functions. 
(*) Still need to unit test.