almost finish this writting programming test...