Fix bugs, add functionalites
merge