[feature] added heap implementation plus unit tests