use WTL for implementation