added a bit more testing and removed key restrictions based on code review