cleaner inmplementation, less code, cleaner code
first commit