more flexible data inputs