Added a todo
Split into multiple files
Split the code into multiple files
Remove check from constructor