Custom algorithm from external module

Added the ability to import algorithms from an external module without breaking program architecture