#190 finished implementation
#190 finished implementation + merge