restructured source and added scene transition type