splitted library into two modules