Prealfa.First completely working version. Needs more testing.