added intro section
added algorithm + tests