added cool stuffs and base is done