Reorganaze, introduce Simple impl