fix minor bugs
fix minor bug on using abstract object in multiple files