Added core with singleton implementation (not safe to multithreading yet)