Reorganize library so that it is more comprehendable