Added initial functionality: slowest but most accurate method