added main and stuff