Fixed #76. Created Abstract class and replaced