modifying the interface here to avoid strings