This is probably overly verbose.