simple: mul+add and some bug fix