got these ideas from vince