better caps handling and initialization