Version 3.0 with help from Camden hah