added main trait for component project