function getCurrentRate() internal view returns(uint) {
        if (block.timestamp < 1537747200) {
            revert();
        }   else if (block.timestamp < 1538352000) {
            return rate.add(rate.mul(7).div(10));
        }   else if (block.timestamp < 1538956800) {
            return rate.add(rate.mul(3).div(5));
        }   else if (block.timestamp < 1539561600) {
            return rate.add(rate.div(2));
        }   else if (block.timestamp < 1540166400) {
            return rate.add(rate.mul(2).div(5));
        }   else if (block.timestamp < 1540771200) {
            return rate.add(rate.mul(3).div(10));
        }   else if (block.timestamp < 1541030400) {
            return rate.add(rate.div(4));
        }   else if (block.timestamp < 1541635200) {
            return rate.add(rate.div(5));
        }   else if (block.timestamp < 1542240000) {
            return rate.add(rate.mul(3).div(20));
        }   else if (block.timestamp < 1542844800) {
            return rate.add(rate.div(10));
        }   else if (block.timestamp < 1543622400) {
            return rate.add(rate.div(20));
        }   else {
            return rate;
        }
    }