version 0.04 - expanded the implementation