reimplemented the utils