refacting algorithm project package structure