newest stuff , design pattern added