changed behaviour to allow falsy values (ie. empty string), added more test cases and modified README.md