Author: Andrew Targowski Henryk Krawczyk