Refined implematation, many changes beyond description