improved getcap