now with solving!