add component support
rename Time to time