add read argument and fixed bags