fixed many problems, but theres a bug: abcaaaaaba