split getData into three methods with differernt signatures