Preperation for future algorithms
Proper method/constructor overloading