Main logic works propertly, needs to make some non-important changes.