Separate functions to some files.
complete to develop framework