Special thanks goes to the following people for their contributions: