Copyright (c) gradation. All rights reserved.