adding elements, improving some stuff