Author: Hamyar Programming Team