updated to interface as opposed to string