Implement total weight limit split in backend

`firstOption` with `get` can be replaced with `first` only