Split into several files, added test skeleton