+ addTarget
F main part implemented
F seems solved, need optimizations