updated to use source's API instead