remove some code redundancy
remove message location enum and use