All algorithm are implemented by myself