initial file, bit messy