split into pieces
tweak names for more consistency