segment even more abstracted