purchase passage complete, with a lot of bugs =D