Create data directory
Split Algorithms interface and update implementations