basic work done; need some tests for is_url