breaking out custom list logic, updating readme