Junhao finish unittesting

Merge this -

1. Lareina can take a look at what needs to be supported
2. Has some of Her Lung's commits