Added constants and split methods - more work need to be done.