moved and separated files
fixed namespaces and imports