Finished casts. They still have some bugs but at least they work :D