merge issue #204 because it's needed for component