element factory. Some more specs. Work in progress