updated to be callable