basic solution complete