refactorise midas module.