Fix boundary conditions in kronos

This also adds an `end_id` parameter which is analogous to `start_id`. 
I try to avoid using internal keywords and just prefix them with _.