some problem in implementation of linear (which is also not so linear).