modulized a bit