forked stuff from Team hydra