updated to be a bit more useful