Split the Algorithms library into 3 different libraries