reducing method complexity