changed the depends on filtering to take advantage of the dependency request for a cleaner impl
added some simple error messages for access failures, will beef up later