seperated the code