this is a personal project, just to push myself to the limit and to test what i know.