started porting over to GCC