Everything implemented. Although poorly tested :P