Может почитать документацию и использовать алгоритм 18 например, вполне подходит под ваши желания