Seems like logic implemented, but may be bugs