Refactored Testing and Added Main Interface